import axios from 'axios'

// 创建axios实例
const api = axios.create({
  baseURL: '/api', // 使用代理
  timeout: 5000
})

// 请求拦截器，添加token
api.interceptors.request.use(
  config => {
    const token = localStorage.getItem('token')
    if (token) {
      config.headers.token = token
    }
    return config
  },
  error => {
    return Promise.reject(error)
  }
)

// 响应拦截器，处理token过期
api.interceptors.response.use(
  response => response,
  error => {
    if (error.response?.status === 401) {
      localStorage.removeItem('token')
      localStorage.removeItem('username')
      window.location.href = '/login'
    }
    return Promise.reject(error)
  }
)

// 班级API
export const clazzApi = {
  // 获取班级列表
  getList(params = {}) {
    return api.get('/clazz', { params })
  },

  // 根据ID获取班级详情
  getById(id) {
    return api.get(`/clazz/${id}`)
  },

  // 创建班级
  create(data) {
    return api.post('/clazz', data)
  },

  // 更新班级
  update(id, data) {
    return api.put(`/clazz/${id}`, data)
  },

  // 删除班级
  delete(id) {
    return api.delete(`/clazz/${id}`)
  }
}

export default api
